/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package questionbook.service;

import java.util.List;
import org.openrdf.model.URI;
import questionbook.exception.IndividualAlreadyExistsException;
import questionbook.model.Category;
import questionbook.service.common.GenericService;

/**
 * This Service holds all Methods for all CRUD-Operations
 * that belong to the Category-Model
 *
 * @author stefanstift
 */
public interface CategoryService extends GenericService {

    /**
     * 
     * @return a Category Object with an generated URI, ready to use and to persist
     * @throws IndividualAlreadyExistsException
     */
    public Category getIdentifiedCategory() throws IndividualAlreadyExistsException;

    /**
     * @param uri
     * @return the Category Object for the assigned URI from the Store
     */
    public Category get(URI uri);

   /**
    *
    * @return a List of all Categories
    */
    public List<Category> getAll();

    /**
     * Persits a Category in the Store
     *
     * @param c the new Category that gets persisted
     */
    public void persist(Category c);

}
